/*
 * Copyright (c) 2002-2004, xRhino, Inc.
 *
 * This library is free software; you can redistribute and/or modify
 * it under the terms of the dual license distributed with this source
 * package (a combined Trolltech QPL/GPL-compatible license)
 *
 * Under this dual license scheme, a separate license is available for use of 
 * this code with a proprietary (closed) system. For more information on the 
 * license, please see the LICENSE file distributed with this source package.
 */
#include "SugMatrix.h"

SugRealType SugMatrix::getA()
{
   return mA;
}

SugRealType SugMatrix::getB()
{
   return mB;
}

SugRealType SugMatrix::getC()
{
   return mC;
}

SugRealType SugMatrix::getD()
{
   return mD;
}

SugRealType SugMatrix::getE()
{
   return mE;
}

SugRealType SugMatrix::getF()
{
   return mF;
}

SugRealType SugMatrix::setA(SugRealType newA)
{
   mA = newA;
   return newA;
}

SugRealType SugMatrix::setB(SugRealType newB)
{
   mB = newB;
   return newB;
}

SugRealType SugMatrix::setC(SugRealType newC)
{
   mC = newC;
   return newC;
}

SugRealType SugMatrix::setD(SugRealType newD)
{
   mD = newD;
   return newD;
}

SugRealType SugMatrix::setE(SugRealType newE)
{
   mE = newE;
   return newE;
}

SugRealType SugMatrix::setF(SugRealType newF)
{
   mF = newF;
   return newF;
}

SugRealType SugMatrix::setABCDEF(SugRealType newA, SugRealType newB, SugRealType newC, SugRealType newD, SugRealType newE, SugRealType newF)
{
   setA(newA);
   setB(newB);
   setC(newC);
   setD(newD);
   setE(newE);
   setF(newF);
   return newA;
}

SugMatrix& SugMatrix::multiply(SugMatrix& secondMatrix)
{
   SugMatrix* outMatrix = new SugMatrix();

   
   //READ ME: Please fill me in when you figure out how you want to do math
   return *outMatrix;
}

SugMatrix& SugMatrix::inverse()
{
   //READ ME: Please fill me in when you figure out how you want to do math
   
}

SugMatrix& SugMatrix::translate(SugRealType x, SugRealType y)
{
   //READ ME: Please fill me in when you figure out how you want to do math
}

SugMatrix& SugMatrix::scale(SugRealType scaleFactor)
{
   //READ ME: Please fill me in when you figure out how you want to do math
}

SugMatrix& SugMatrix::scaleNonUniform(SugRealType scaleFactorX, SugRealType scaleFactorY)
{
   //READ ME: Please fill me in when you figure out how you want to do math
}

SugMatrix& SugMatrix::rotate(SugRealType angle)
{
   //READ ME: Please fill me in when you figure out how you want to do math
}

SugMatrix& SugMatrix::rotateFromVector(SugRealType x, SugRealType y)
{
   //READ ME: Please fill me in when you figure out how you want to do math
}

SugMatrix& SugMatrix::flipX()
{
   //READ ME: Please fill me in when you figure out how you want to do math
}

SugMatrix& SugMatrix::flipY()
{
   //READ ME: Please fill me in when you figure out how you want to do math
}

SugMatrix& SugMatrix::skewX(SugRealType angle)
{
   //READ ME: Please fill me in when you figure out how you want to do math
}

SugMatrix& SugMatrix::skewY(SugRealType angle)
{
   //READ ME: Please fill me in when you figure out how you want to do math
}

SugMatrix::SugMatrix()
{
}

SugMatrix::SugMatrix(SugRealType newA, SugRealType newB, SugRealType newC, SugRealType newD, SugRealType newE, SugRealType newF)
{
}

SugMatrix::~SugMatrix()
{
}

